package com.translator.model;

/**
 * 翻译结果模型类
 * 包含翻译操作的结果信息
 */
public class TranslationResult {
    
    private String translatedText;
    private String sourceLanguage;
    private String targetLanguage;
    private String engineName;
    private long translationTime; // 翻译耗时（毫秒）
    
    /**
     * 创建翻译结果
     * 
     * @param translatedText 翻译后的文本
     * @param sourceLanguage 源语言
     * @param targetLanguage 目标语言
     * @param engineName 使用的翻译引擎名称
     * @param translationTime 翻译耗时（毫秒）
     */
    public TranslationResult(String translatedText, String sourceLanguage, String targetLanguage, 
                            String engineName, long translationTime) {
        this.translatedText = translatedText;
        this.sourceLanguage = sourceLanguage;
        this.targetLanguage = targetLanguage;
        this.engineName = engineName;
        this.translationTime = translationTime;
    }
    
    /**
     * 获取翻译后的文本
     * 
     * @return 翻译后的文本
     */
    public String getTranslatedText() {
        return translatedText;
    }
    
    /**
     * 获取源语言
     * 
     * @return 源语言
     */
    public String getSourceLanguage() {
        return sourceLanguage;
    }
    
    /**
     * 获取目标语言
     * 
     * @return 目标语言
     */
    public String getTargetLanguage() {
        return targetLanguage;
    }
    
    /**
     * 获取翻译引擎名称
     * 
     * @return 翻译引擎名称
     */
    public String getEngineName() {
        return engineName;
    }
    
    /**
     * 获取翻译耗时（毫秒）
     * 
     * @return 翻译耗时
     */
    public long getTranslationTime() {
        return translationTime;
    }
    
    @Override
    public String toString() {
        return "TranslationResult{" +
                "translatedText='" + translatedText + '\'' +
                ", sourceLanguage='" + sourceLanguage + '\'' +
                ", targetLanguage='" + targetLanguage + '\'' +
                ", engineName='" + engineName + '\'' +
                ", translationTime=" + translationTime +
                '}';
    }
}